package com.manuelmaly.hn.server;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.client.params.HttpClientParams;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.content.Context;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class GetHNUserTokenHTTPCommand extends BaseHTTPCommand<String> {
public GetHNUserTokenHTTPCommand(String url, HashMap<String, String> queryParams, RequestType type, boolean notifyFinishedBroadcast,
String notificationBroadcastIntentID, Context applicationContext, Map<String, String> body) {
super(url, queryParams, type, notifyFinishedBroadcast, notificationBroadcastIntentID, applicationContext, 60000, 60000,
body);
}
@Override
protected void modifyHttpClient(DefaultHttpClient client) {
super.modifyHttpClient(client);
HttpClientParams.setRedirecting(client.getParams(), false);
}
@Override
protected HttpUriRequest setRequestData(HttpUriRequest request) {
List<NameValuePair> params = new ArrayList<NameValuePair>(2);
Map<String, String> body = getBody();
if (body != null) {
for (String key : body.keySet()) {
params.add(new BasicNameValuePair(key, body.get(key)));
}
}
try {
((HttpPost) request).setEntity((new UrlEncodedFormEntity(params, "UTF-8")));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return request;
}
@Override
protected ResponseHandler<String> getResponseHandler(HttpClient client) {
return new GetHNUserTokenResponseHandler(this, client);
}
}